#include "SeqList.h"

void SLTest1()
{
	SL s;
	SLInit(&s);
	SLPushEnd(&s, 4);
	SLPushEnd(&s, 2);
	SLPushEnd(&s, 3);
	SLPushEnd(&s, 4);
	SLPushEnd(&s, 5);
	SLPushEnd(&s, 6);
	SLPushEnd(&s, 0);
	SLPushHead(&s, 1);
	SLPushHead(&s, 2);
	SLPushHead(&s, 3);
	SLPushHead(&s, 4);
	SLPushHead(&s, 5);

	SLPrint(&s);
	SLDestory(&s);

}
void SLTest2()
{
	SL s;
	SLInit(&s);
	SLPushEnd(&s, 4);
	SLPushEnd(&s, 2);
	SLPushEnd(&s, 3);
	SLPushEnd(&s, 4);
	SLPushEnd(&s, 5);
	SLPushEnd(&s, 6);
	SLDelEnd(&s);
	SLDelEnd(&s);
	SLDelEnd(&s);
	SLPrint(&s);

	SLDelEnd(&s);
	SLDelEnd(&s);
	SLPrint(&s);

	SLDelEnd(&s);
	SLDelEnd(&s);
	SLPrint(&s);

	SLPushEnd(&s, 1);
	SLPushEnd(&s, 2);
	SLPushEnd(&s, 4);
	SLPushHead(&s, 6);
	SLPrint(&s);

	SLDestory(&s);
}
void SLTest3()
{
	SL s;
	SLInit(&s);
	SLPushEnd(&s, 4);
	SLPushEnd(&s, 2);
	SLPushEnd(&s, 3);
	SLPushHead(&s, 4);
	SLPushHead(&s, 2);
	SLPushHead(&s, 3);

	SLDelHead(&s);
	SLPrint(&s);
	SLDestory(&s);
}

void SLTest4()
{
	SL s;
	SLInit(&s);
	SLPushEnd(&s, 4);
	SLPushEnd(&s, 3);
	SLPushHead(&s, 3);

	SLInsert(&s, 1, 40);
	SLInsert(&s, 2, 30);
	SLInsert(&s, 1, 50);
	//SLInsert(&s, 20, 4);

	SLErase(&s, 2);

	SLPrint(&s);
	SLDestory(&s);
}
void SLTest5()
{
	SL s;
	SLInit(&s);

	SLPushHead(&s, 1);
	SLPushHead(&s, 2);
	SLPushEnd(&s, 3);

	SLInsert(&s, 3, 4);
	SLInsert(&s, 4, 5);
	SLInsert(&s, 5, 6);
	SLPrint(&s);
	int pos = SLFind(&s, 4);

	SLModify(&s, pos, 40);

	SLPrint(&s);
	SLDestory(&s);
}
int main(void)
{
	
	//SLTest1();
	//SLTest2();
	//SLTest3();
	//SLTest4();
	SLTest5();
	return 0;
}